import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * user:likai
 * Date:2022-10-09
 * Time:16:36
 */
//class Solution {
//    public int missingNumber(int[] nums) {
//        int sum=0;
//        int i;
//        for (i=1; i < nums.length+1; i++) {
//            sum=sum^i^nums[i-1];
//        }
//        return sum;
//    }
//}


class Solution {


//        时间复杂度太大
//        int n= nums.length;
//        k=k%n;
//         for (int i = 0; i < k; i++) {
//        int tmp=nums[n-1];
//        for (int j = n-1; j >0; j--) {
//            nums[j]=nums[j-1];
//        }
//        nums[0]=tmp;
//
}


//
//    public void rotate(int[] nums, int k) {
//        int length = nums.length;
//        int[] newNums = new int[length];
//        for (int i = 0; i < length; i++) {
//            newNums[(i + k) % length] = nums[i];
//        }
//        for (int i = 0; i < length; i++) {
//            nums[i] = newNums[i];
//        }
//    }


public class Test {
    public static void  rotate(int[] nums, int k) {
//        int []array=new int[k];
//        int n= nums.length;
//        for (int i = 0; i < k; i++) {
//            array[i]=nums[n-k+i];
//        }
//        for (int i = 0; i < nums.length-k; i++) {
//            nums[n-i-1]=nums[n-i-1-k];
//        }
//        for (int i = 0; i < k; i++) {
//            nums[i]=array[i];
//        }
        if(nums.length<k){
            int []array=new int[nums.length];
            for (int i = 0; i < nums.length; i++) {
                array[i]=nums[i];
            }
            //转移前半部分
            for (int i = nums.length-k; i > 0; i--) {
                //目的地    来源
                nums[i+k-1]=array[i-1];
            }
            for (int i = 0; i < k; i++) {
                nums[i]=array[i-k+ nums.length];
            }
        } else  {

        }

    }

    public static void main(String[] args) {
        int []nums={1,2,3,4,5,6,7,8};
        int k=3;
        rotate(nums,k);
        System.out.println(Arrays.toString(nums));
    }
}
